package com.xyz.practice.jdbc.databasemetadata;

import java.io.Serializable;

public class ReferenceKey implements Serializable {
	private static final long serialVersionUID = -6410614779914708218L;

	ReferenceKey() {

	}

	/**
	 * primary key table catalog (may be null)
	 */
	private String pktableCat;
	/**
	 * primary key table schema (may be null)
	 */
	private String pktableSchem;
	/**
	 * primary key table name
	 */
	private String pktableName;
	/**
	 * primary key column name
	 */
	private String pkcolumnName;
	/**
	 * foreign key table catalog (may be null) being exported (may be null)
	 */
	private String fktableCat;
	/**
	 * foreign key table schema (may be null) being exported (may be null)
	 */
	private String fktableSchema;
	/**
	 * foreign key table name being exported
	 */
	private String fktableName;
	/**
	 * foreign key column name being exported
	 */
	private String fkcolumnName;
	/**
	 * sequence number within foreign key( a value of 1 represents the first
	 * column of the foreign key, a value of 2 would represent the second column
	 * within the foreign key).
	 */
	private short keySeq;
	/**
	 * What happens to foreign key when primary is updated: importedNoAction -
	 * do not allow update of primary key if it has been imported
	 * importedKeyCascade - change imported key to agree with primary key update
	 * importedKeySetNull - change imported key to NULL if its primary key has
	 * been updated importedKeySetDefault - change imported key to default
	 * values if its primary key has been updated importedKeyRestrict - same as
	 * importedKeyNoAction (for ODBC 2.x compatibility)
	 */
	private short updateRule;
	/**
	 * What happens to the foreign key when primary is deleted.
	 * importedKeyNoAction - do not allow delete of primary key if it has been
	 * imported importedKeyCascade - delete rows that import a deleted key
	 * importedKeySetNull - change imported key to NULL if its primary key has
	 * been deleted importedKeyRestrict - same as importedKeyNoAction (for ODBC
	 * 2.x compatibility) importedKeySetDefault - change imported key to default
	 * if its primary key has been deleted
	 */
	private short deleteRule;
	/**
	 * foreign key name (may be null)
	 */
	private String fkName;
	/**
	 * primary key name (may be null)
	 */
	private String pkName;
	/**
	 * can the evaluation of foreign key constraints be deferred until commit
	 * importedKeyInitiallyDeferred - see SQL92 for definition
	 * importedKeyInitiallyImmediate - see SQL92 for definition
	 * importedKeyNotDeferrable - see SQL92 for definition
	 */
	private short deferrability;

	String getPktableCat() {
		return pktableCat;
	}

	void setPktableCat(String pktableCat) {
		this.pktableCat = pktableCat;
	}

	String getPktableSchem() {
		return pktableSchem;
	}

	void setPktableSchem(String pktableSchem) {
		this.pktableSchem = pktableSchem;
	}

	String getPktableName() {
		return pktableName;
	}

	void setPktableName(String pktableName) {
		this.pktableName = pktableName;
	}

	String getPkcolumnName() {
		return pkcolumnName;
	}

	void setPkcolumnName(String pkcolumnName) {
		this.pkcolumnName = pkcolumnName;
	}

	String getFktableCat() {
		return fktableCat;
	}

	void setFktableCat(String fktableCat) {
		this.fktableCat = fktableCat;
	}

	String getFktableSchema() {
		return fktableSchema;
	}

	void setFktableSchema(String fktableSchema) {
		this.fktableSchema = fktableSchema;
	}

	String getFktableName() {
		return fktableName;
	}

	void setFktableName(String fktableName) {
		this.fktableName = fktableName;
	}

	String getFkcolumnName() {
		return fkcolumnName;
	}

	void setFkcolumnName(String fkcolumnName) {
		this.fkcolumnName = fkcolumnName;
	}

	short getKeySeq() {
		return keySeq;
	}

	void setKeySeq(short keySeq) {
		this.keySeq = keySeq;
	}

	short getUpdateRule() {
		return updateRule;
	}

	void setUpdateRule(short updateRule) {
		this.updateRule = updateRule;
	}

	short getDeleteRule() {
		return deleteRule;
	}

	void setDeleteRule(short deleteRule) {
		this.deleteRule = deleteRule;
	}

	String getFkName() {
		return fkName;
	}

	void setFkName(String fkName) {
		this.fkName = fkName;
	}

	String getPkName() {
		return pkName;
	}

	void setPkName(String pkName) {
		this.pkName = pkName;
	}

	short getDeferrability() {
		return deferrability;
	}

	void setDeferrability(short deferrability) {
		this.deferrability = deferrability;
	}

}
